.icon {
  display               : inline-flex;
  align-items           : center;
  color                 : inherit;
  font-style            : normal;
  line-height           : 0;
  text-align            : center;
  text-transform        : none;
  vertical-align        : -0.125em;
  text-rendering        : optimizeLegibility;
  -webkit-font-smoothing: antialiased;

  svg {
    display: inline-block;
    width  : 1em;
    height : 1em;
    fill   : currentcolor;
  }

  svg:not(:root) {
    overflow-clip-margin: content-box;
    overflow            : hidden;
  }
}